﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace z.c
{
	class ZM
	{
		public static string tienthanhchu(double dc)
		{
			string ret = "";
			long lc = (long)dc;
			char[] chsc=string.Format("{0:0}",dc).ToArray();
			//List<string> lsStr = new List<string>();
			//for (int i = 0; i < chsc.Count() / 3; i++)
			//{
			//   lsStr.Insert(i * 3,i%3==0?"Ty":i%3==2?"Trieu":"Ngan");
			//}
			//int j;
			for (int i = 0; i < chsc.Count(); i++)
			{
				int ii = chsc.Count() - i - 1;
				if (i != 0)
				{
					if (i % 3 == 0)
					{
						if ((i / 3) % 3 == 0)
						{
							ret = "tỷ " + ret;
						}
						else if ((i / 3) % 3 == 2)
						{
							ret = "triệu " + ret;
						}
						else
						{
							ret = "ngàn " + ret;
						}
					}
					else if (i % 3 == 2 && chsc[ii] != '0')
					{
						ret = "trăm " + ret;
					}
					else
					{
						if (ii - 1 >= 0)
							ret = (chsc[ii] != '0' ? "mươi " : "") + ret;
					}
				}
				switch (chsc[ii])
				{
					case '0':
						if (i > 1)
						{
							if (i % 3 == 1 && chsc[ii + 1] != '0' && chsc[ii - 1] != '0')
							{
								ret = "lẽ " + ret;
							}
							else if (i % 3 == 2 && chsc[ii + 1] != '0' && chsc[ii - 1] != '0')
							{
								ret = "không trăm " + ret;
							}
						}
						break;
					case '1': ret = "một " + ret; break;
					case '2': ret = "hai " + ret; break;
					case '3': ret = "ba " + ret; break;
					case '4': ret = "bốn " + ret; break;
					case '5': ret = "năm " + ret; break;
					case '6': ret = "sáu " + ret; break;
					case '7': ret = "bảy " + ret; break;
					case '8': ret = "tám " + ret; break;
					case '9': ret = "chín " + ret; break;
					//default: ret = "---" + ret;
				}
			}
			ret = ret.Replace("trăm mươi ", "trăm ");
			ret = ret.Replace("ngàn trăm ", "ngàn ");
			ret = ret.Replace("triệu ngàn ", "triệu ");
			ret = ret.Replace("tỷ triệu ", "tỷ ");
			ret = ret.Replace("một mươi ", "mười ");
			ret = ret.Replace("mươi một ", "mốt ");
			return "Số tiền bằng chử: "+ret.Trim()+ " Đồng";
		}
	}
}
